# -*- coding: utf-8 -*-


class EnchantBase(object):
    def __init__(self, mSystem, playerId, enchantData, levels):
        # type: (EnchantBase, ServerSystem, str, list, list) -> None
        self.mSystem = mSystem          # type: ServerSystem
        self.playerId = playerId        # type: str
        self.enchantData = enchantData  # type: list
        self.levels = levels            # type: list

    def onEnter(self):
        """
        当附魔加入时触发，对于装备类，当装备时触发，对于非装备类，主手持时触发。
        """
        pass

    def second(self):
        """
        当附魔已经加入后，每秒钟触发。
        :return:
        """
        pass

    def tick(self):
        """
        当附魔已经加入后，每tick触发。
        """
        pass

    def onExit(self):
        """
        当附魔退出时触发，注意，对于装备来说，只有当玩家把相关附魔的装备全卸下时才触发。
        """
        pass

    def isArmorEnchant(self):
        # type: () -> bool
        """
        修改return值来设置附魔是否为装备类附魔。
        :return: 是否为装备类附魔
        """
        return False
